Method and system for delivering biomechanical feedback to human and object motion

ABSTRACT

A method and system to deliver biomechanical feedback utilizes three major elements: (1) multiple hardware data capture devices, including optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, (2) a cross-platform compatible physics engine compatible with optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, and (3) interactive platforms and user-interfaces to deliver real-time feedback to motions of human subjects and any objects in their possession and proximity.

FIELD OF THE INVENTION

This disclosure relates to a method and system for deliveringbiomechanical feedback to human and object motions.

BACKGROUND OF INVENTION

Systems capable of delivering human and object motion currently existbut are typically very sophisticated and expensive. As well, the formatof the feedback provided by these systems varies considerably.Typically, there are no exhaustive methods and systems to deliverbiomechanical feedback across multiple platforms and entitiesconsistently. For example, optical motion capture is currently used inmotion capture studios and sports technology companies to analyze humansand objects. These motion capture laboratories and studios focus onbiomechanical research of human subjects to analyze performance,recovery, and injury risk identifiers, amongst others. Manybiomechanical researchers develop proprietary software and processingalgorithms to extract kinematic and kinetic measures of human and objectmotion. The application of physics engines to extract these metrics arebased on the precision and location of retro-reflective markers on bonyanatomical landmarks of the body and objects. Feedback is usually givenin highly technical formats that often leave the test-subject unaware ofthe true underlying biomechanical flaw and fail to address correctiveexercises, drills, and training regimens to improve performance andrecovery, and reduce the risk of injury. As well, when and ifprescriptive feedback is given, there are few methods to assesscompliance with such feedback and there are few systems available forappropriate re-evaluation of the human subject and object.

Accordingly, a need exists for a system that provides biomechanicalfeedback in a format which is usable by an actor/athlete to improvetheir performance and reduce their risk of injury and that is supportedby statistical relationship models, interactive platforms, and moreadvanced hardware platforms.

Wearable technology is becoming a primary means of assessing human andobject motion. This technology is based upon embedding sensor technologyin wearable garments. An example of such use is the ability to extractdata from one or more on miniaturized accelerometers and gyroscopes forthe purpose of reconstructing three-dimensional motion, however, thereare limitations to the precision and accuracy of wearable technologythat often misleads users with information that is not supported bystatistical models. Wearable technology also does not providecomprehensive motion detection of all body and object segments, and,thus, does not allow for extensive prescriptive feedback to improveperformance and recovery, and, thereby, reduce the risk of injury.Wearable technology is often wirelessly interfaced with mobile devicesto compute kinematics and kinetics, and to display biomechanicalfeedback in single sessions. That said, there is no cross-platformcontinuity to keep users engaged, and few methods to monitor complianceand deliver significant feedback.

Accordingly, a further need exists for a system that incorporatesadvanced physics engine capabilities, advanced hardware processing andsensor technology, and interactive interfaces to produce meaningful datausable by an actor/athlete to improve their performance and reduce theirrisk of injury.

SUMMARY OF THE INVENTION

Disclosed is a method and system to deliver biomechanical feedback tosubjects. The system utilizes three major elements: (1) multiplehardware data capture devices, including optical motion capture,inertial measurement units, infrared scanning devices, andtwo-dimensional RGB consecutive image capture devices, (2) across-platform compatible physics engine compatible with optical motioncapture, inertial measurement units, infrared scanning devices, andtwo-dimensional RGB consecutive image capture devices, and (3)interactive platforms and user-interfaces to deliver real-time feedbackto motions of humans and any objects in their possession and proximity.

The first element, a cross-platform compatible physics engine, importsdata captured from a variety of hardware devices. Data imported from thehardware devices are then fed through kinematics and kinetics algorithmsto extract desired biomechanical data. Data is then compiled by thephysics engine across multiple subjects and across multiple sessions ofa single subject. The physics engine also computes mechanicalequivalencies to allow compatibility across hardware platforms.Mechanical equivalencies include correlating database data to injury andperformance statistics, correlating discrete kinematics and kinetics ofa body to discrete kinematics and kinetics of objects, principalcomponent analysis to correlate time-series data of the body to objects,comparison of subject and object data to compiled databases, andextraction of prescriptive feedback based on all mechanicalequivalencies

The second element, the hardware data capture devices, may comprise avariety of peripheral devices that collect two-dimensional orthree-dimensional motion data of subject or object. In one embodiment,such peripheral devices may comprise (1) optical motion capture devicesto collect three-dimensional positional data on reflective markersplaced on the body and/or an object, (2) inertial measurement units withgyroscopes and accelerometers placed on the body, on an object, or ingarments, to collect three-dimensional translation and rotation motiondata of object(s) or segment(s) of the subjects body, (3) infraredscanning devices, such as the Microsoft Kinect or Google Tango, tocapture three-dimensional point clouds of movement data and incorporateskeletal and object tracking algorithms to extract three-dimensionaljoint and object positions, and (4) Red Green Blue (RGB) two-dimensionalconsecutive image capture devices to collect movement images and toincorporate skeletal and object tracking algorithms to extractthree-dimensional joint and object positions and kinematics.

The hardware data capture devices of the second element may furthercomprise wearable sensor technology which utilizes motion sensinghardware embedded in wearable garments to compute human and objectmotion. The wearable technology may be coupled the physics engine andinteractive interface to offer prescriptive feedback to flaws identifiedin the subject's and object's motion. Such feedback may be based on anexhaustive body of object motion correlations made during biomechanicalresearch, and be provided to the user via the interactive interface.

The third element, the interactive interface, utilizes informationgenerated by the physics engine to create a user-interface that displaysdata to the user. This interactive interface may be implemented invariety of forms such as mobile device screens (iOS/Android), Web-Basedinterfaces (HTML), Heads-Up-Displays (VR/AR Headsets), and Windows/OSXstatic formats (spreadsheets, PDF's, etc.). The interactive interfacehas the capability of feeding information to the user, as well as theability to collect information from the user for the purpose ofmonitoring compliance and monitoring usability of the interface. Theinteractive platform may be utilized to provide to the user insightgathered from biomechanical research and marker-based motion capturemethods. Such interactive platforms will be able to offer prescriptivefeedback based on motion data gathered from either the wearabletechnology, or the motion sensing mechanism built into the interactiveplatform and enable compliance monitoring and continuous engagementacross a suite of wearable technology methods. Information may be storedon a back-end storage server and also exported to the physic engine andto one or more of the hardware devices.

According to one aspect of the disclosure, system for providingprescriptive feedback based on motion of a human subject or objectcomprises: A) a hardware engine for gathering data about the motion of asubject or object, B) a physics engine operatively coupled to thehardware engine and configured for processing the gathered motion dataand correlating the processed motion data with previously storedbiomechanical data representing idealized motion models, and C) aninteractive interface operatively coupled to the data gathering devicesand the physics engine and configured for providing prescriptivefeedback on flaws identified in the subject's or object's motion.

According to another aspect of the disclosure, a method for providingprescriptive feedback based on motion of a human subject or objectcomprises: A) gathering data about the motion of a subject or object, B)processing the gathered motion data and correlating the processed motiondata with previously stored biomechanical data representing idealizedmotion models, and C) providing prescriptive feedback on flawsidentified in the subject's or object's motion. In one embodiment methodfurther comprises D) enabling compliance monitoring of the motion of thesubject and/or object.

According to yet another aspect of the disclosure, a method for offeringprescriptive feedback based on motion of a human subject and/or objectscomprises: A) gathering motion data from either a wearable garment ordevice having motion sensing hardware embedded therein or from a motionsensing mechanism built into the interactive platform, B) processingmotion data, C) correlating the process motion data with previouslystored biomechanical data representing idealized motion models, and D)providing prescriptive feedback on flaws identified in the subject's andobject's motion based on the motion data gathered from either thewearable technology or interactive platform.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustratively shown and described withreference to the accompanying drawing in which:

FIG. 1 illustrates conceptually a system for delivering biomechanicalfeedback to human and object motion;

FIG. 2 illustrates conceptually a method of the system for deliveringbiomechanical feedback to human and object motion and the interaction ofthe physics engine;

FIG. 3 illustrates conceptually a method of the system for deliveringbiomechanical feedback to human and object motion by use of aninteractive engine;

FIGS. 4A-B illustrate conceptually a method of the system for deliveringbiomechanical feedback to human and object motion by use of hardwareengines;

FIGS. 5A-D illustrate conceptually specific marker sets used in themethod of biomechanical research and its relation to optical motioncapture;

FIGS. 6A-H illustrate conceptually embodiments of wearable technology inaccordance with the disclosure;

FIG. 7 illustrates conceptually a diagram of an exemplary computerarchitecture in accordance with the present disclosure; and

FIG. 8 illustrates conceptually a diagram of an exemplary networktopology in which the system may be implemented in accordance with thepresent disclosure.

DETAILED DESCRIPTION OF THE INVENTION

The present disclosure will be more completely understood through thefollowing description, which should be read in conjunction with thedrawings. In this description, like numbers refer to similar elementswithin various embodiments of the present disclosure. The skilledartisan will readily appreciate that the methods, apparatus and systemsdescribed herein are merely exemplary and that variations can be madewithout departing from the spirit and scope of the disclosure.

Is used herein, the term “engine” means one or more elements, whetherimplemented in hardware, software, firmware, or any combination thereof,capable of performing any function described herein, including acollection of such elements which collaboratively perform functionswholly or partially, serially or in parallel, synchronously orasynchronously, remotely or locally, regardless of data formats orprotocols.

Referring to FIG. 1, a system for providing biomechanical feedbackcomprises a physics engine 100, a hardware engine 102, and aninteractive engine 101 to deliver biomechanical feedback on human orobject motion. As used herein, hardware engine 102 may comprise one or aplurality of hardware/software devices which function collectively orindividually to achieve the described functionality. Similarly, as usedherein, interactive engine 101 may comprise one or a plurality ofhardware/software devices which function collectively or individually toachieve the described functionality, typically receiving data from orproviding data to a subject.

Physics engine 100 functions as a cross-platform compatible method totransform raw three-dimensional data captured from various hardware datacollection devices into usable biomechanical feedback. FIG. 2illustrates conceptually an exemplary process flow of the physics engine100. First, the physics engine 100 is initialized, typically to astartup state with default parameters, as illustrated by process block200. The physics engine 100 imports, either in a push or a pull mannerover any network infrastructure, wireless or otherwise, eithertwo-dimensional or three-dimensional datasets from the hardware engine102, as illustrated by process block 201. In one embodiment, hardwareengine 102 may comprise individually or collectively any of opticalmotion capture device 212, inertial measurement units 213, infrared frompoint scanning devices 214, and image capture devices 215. Data importedfrom these devices is provided to physics engine 100 which performs oneor more algorithmic processes to compute kinematics and kinetics of thehuman body and objects, as illustrated by process block 202.

An pseudocode example of the type of kinematic and kinetic algorithmiccomputations performed by physics engine 11 on data from optical motioncapture device 212, infrared scanning devices 214 and image and videocapture devices 215, is as follows:

-   -   Define a multisegment or single segment biomechanics model        comprising bilateral and/or unilateral segments, such as the        hands, forearms, upper arms, upper trunk, neck, head, pelvis,        upper thighs, lower shanks, feet, and any objects used in the        proximity    -   Define long-axis unit vectors of the body or object segments in        the model using three-dimensional XYZ marker data    -   Define Planar-axis unit vectors of each of the above segments    -   Compute a cross product of the long and planar axes to determine        the third unit vector of each segment    -   Compute the cross product of the third unit-vector and the        long-axis unit vector to create three orthonormal unit vectors        for each segment in the model    -   Compute angular velocity vectors of each model segment using a        derivative method of unit vectors of each segment    -   Compute relative joint angles (in euler and polar coordinate        systems) using each segment's set of unit vectors    -   Define human mass model using subject weight and height and        anthropometrics of body segments to calculate mass moments of        inertia about each segment, and center of mass locations    -   Compute accelerations of each marker and of each segment center        of mass using a five-point central difference filter    -   Compute angular accelerations of each model segment using a five        point central difference filter of angular velocity    -   Compute an inverse dynamics model of motion using angular        velocity components of each segment, angular acceleration        components of each segment, and linear acceleration components        of each segment's center of mass    -   Event detection algorithms are used to determine points of        interest during a particular motion    -   Kinematics and Kinetic values are extracted at points of        interest (examples of kinematics and kinetic values are peak        angular velocity of the pelvis segment during a sport motion (in        meters per second), or shoulder rotation at foot contact during        a throwing motion (in degrees)        To compute kinematics and kinetics from inertial measurement        units 213, the following steps are undertaken:    -   Raw sensor data is fused together using an axis-angle        integration method.        -   A rotation matrix of the sensor is initialized using the            gravity vector during a still point (Gravity can also be            detected when there is no still point by measuring            integration offset after the axis-angle method is completed)        -   Angular rate data from the gyroscope is integrated into a            rotation matrix at each sample during the motion        -   Each rotation matrix from each sample is multiplied            consecutively to the initialized rotation matrix in a            body-fixed method        -   Acceleration data is transformed into the global frame using            the rotation matrix computed from the angular rate data        -   Gravity is subtracted from the rotated acceleration data in            the global reference frame        -   Rotated acceleration data is integrated into velocity and            position of the sensor and/or any point on a rigid body to            which the sensor is attached    -   Raw acceleration and angular rate data is transformed into the        inertial reference frame at the center of mass of the segment or        object to which the sensor is attached    -   All processed data is rotated by an offset error that may exist        in a system    -   All rotated and inertial data is filtered using a fourth order        low pass filter    -   Inertial reference frame acceleration data and angular rate data        are fed into an open-chain inverse dynamics kinetic model to        solve for reaction forces and torques about vertices within a        human or object mass model defined by anthropometrics, height,        weight, or lookup tables of object properties    -   Event detection algorithms are used to determine points of        interest during a particular motion (An example of an event        detection algorithm in baseball pitching encompases the        generation of Principal Components of a historical dataset        (training data). When a given buffer of data in a hardware        device meets the criteria of fitting the principal components,        an event (such as a pitch) is detected. Event detection is used        to prevent undesired motion from being detected in a given        application).    -   Kinematics and Kinetic values are extracted at points of        interest from integrated positions, velocities, accelerations,        angular rates, and reaction force and torque data.

The above identified process for the computation of kinematics andkinetics data are repeated for multiple trials of a subject's orobject's motion and compiled in a memory or database, as illustrated byprocess block 203. In one embodiment, similar computed kinematics andkinetics data are compiled across multiple subjects and stored forfurther analysis, as also illustrated by process block 203. Physicsengine 100 then provides relevant portions of the compiled kinematicsand kinetics data to mechanical equivalency models, as illustrated byprocess block 204. As part of this process, physics engine 100correlates the compiled data to performance and injury data, asillustrated by process block 300. Discrete data are correlated toperformance and injury data by way of person correlations and Bayesianmixed regression to eliminate non-contributing factors. Physics engine100 further correlates discrete kinematics and kinetics data of the bodyto discrete kinematics and kinetics of the object or other bodysegments, as illustrated by process block 302. Discrete body data arecorrelated other discrete body and object data 302 in a similar methodto 300 by way of person correlations and Bayesian mixed regression. Alsoas part of this process, physics engine 100 correlates time-series dataof the body to time-series data of other body parts or objects usingprincipal component analysis, as illustrated by process block 303.Time-series segment data are reduced to multiple, e.g. over 80,principal components. The reduced components are then correlated toprincipal components of other body or object segments and are used toextract additional motion given raw data from one or more body segments.Discrete and time-series data are compared to a database of motion, asillustrated by process block 305, by use of averages and standarddeviations of data across multiple subjects. Based upon relationshipsestablished during process blocks 300, 302, 303, 305, physics engine 100further extracts prescriptive feedback using correlation models and thesubject's/object's motion, as illustrated by process block 304. Afterthe prescriptive feedback information is gathered by the physics engine100, the prescriptive feedback is exported to interactive engine 101, asillustrated by process block 205, and presented to the subject/object ina matter that facilitates altering the mechanics in a way that leads toincreased performance or reduced risk of injury.

FIG. 3 illustrates the process flow performed by the interactive engine101. After any initialization of the interactive engine 101, informationis acquired from the physics engine 100, as illustrated by process block206, either manually, or with automated API's in either a push or pullprotocol. Such information is then stored on back end servers anddatabases, as illustrated by process block 207, in a logical manner forreference. Next, the information acquired from physics engine 100 isdisplayed through user interfaces, as illustrated by process block 208.Interactive engine 101 may display the information acquired from physicsengine 100 through any of mobile devices (iOS/Android) 306, spreadsheets307, web-based interfaces (HTML) 308, and virtual and/or augmentedreality heads-up displays 309, as illustrated by process block 208.After such information is displayed, the interactive engine 101 has thefurther capability to monitor compliance and usability informationthrough the various interface components of interactive engine 101, asillustrated by process block 209, by storing compliance informationentered by a user or collected by one of the data collection devicescomprising hardware engine 102. Any acquired compliance information maybe exported to either the hardware engine 102 and/or physics engine 100,as applicable, to form a continuous feedback loop, as illustrated byprocess block 210, and as illustrated in FIG. 1.

FIGS. 4A-B illustrate the process flow performed by the hardware engine102. For the optical motion capture devices 212, third party software isutilized to calibrate multiple, e.g. up to 16, near infrared camerasaround a centralized volume space, as illustrated by process block 310.Retro-reflective markers are then placed on the subject and/or object asseen in FIGS. 5A-D. Data are recorded with devices 212 and transmittedusing an Ethernet bus connected to a computer. The calibrated XYZpositions of each marker in the capture volume are recorded into abinary encoded file, as illustrated by process block 312. Aftercollection, the acquired data are exported to the physics engine 102,for example using Windows/OSX devices, for processing, as illustrated byprocess block 313. For the inertial measurement devices 213,accelerometers and gyroscopes are calibrated and interfaced with amicrocontroller capable of interfacing with any of memory, e.g. RAM orFLASH, and Bluetooth chipsets by internal firmware operations thatcontrol the hardware, as illustrated by process block 314. Inertialmeasurement units are placed on points of interest, such as bodysegments or objects, as illustrated by process block 315. Six axes ofdata, in addition to time samples, may be recorded continuously. Uponthe trigger of a customized event (event detection), as illustrated byprocess block 316, data are stored in RAM and/or FLASH memory for lateranalysis, as illustrated by process block 317. Data are simultaneouslycompressed using principal component analysis, similar as previouslydescribed with reference to process block 303, as illustrated by processblock 318. Data are then exported to a physics engine 100, with, forexample, Bluetooth low energy SDK processes on mobile devices(iOS/Android), as illustrated by process block 319. For the infraredscanning devices 214, a scanning laser is calibrated alongside on-boardinertial measurement units that may include accelerometers andgyroscopes, or other positional measurement units, such as Red GreenBlue (RGB) video or known environmental conditions, as illustrated byprocess block 320. XYZ point cloud data of human and object motion isthen captured, as illustrated by process block 321, and stored to localmemory. Simultaneously, a local skeletal and object tracking algorithmis implemented to track three-dimensional joint and object positions, asillustrated by process block 322. The local skeletal and object trackingalgorithm may be implemented using known anthropometrics of the human,or known information from the object, alongside edge filteringtechniques to identify points of interest on a human or object. Skeletaland object data are then also stored in memory, as illustrated byprocess block 323, and are exported to a physics engine 100 by, forexample, Android/iOS devices. For the image and video capture devices215, consecutive two-dimensional RGB images and videos of human objectmotion are captured, as illustrated by process block 325. A localskeleton and object tracking algorithm is then used to extract joint andobject positions similar as previously described with reference toprocess block to 322, as illustrated by process block 326. Skeletal andobject positional data are then stored to memory, as illustrated byprocess block 327, and are exported to physics engine 100, by forexample, mobile devices (IDS/Android), as illustrated by process block328.

As seen in FIG. 5A-D, markerset 300 comprise a full body markerset 400and various object markersets, including baseball/softball bat markerset401, golf clubs markerset 402, tennis racket markerset 403, and otherobjects that interact with a human body. FIG. 5A illustratesconceptually a full body markerset 400 comprises markers attached tobony anatomical landmarks, including, but not limited to: front of thehead, back of the head, right side of the head, left side of the head,the T2 vertebrate, the T8 vertebrate, the Xiphoid process of thesternum, the left and right sternoclavicular joints, theAcromioclavicular joint of both shoulders, the middle of the bicep ofthe upper arms, the lateral and medial epicondyle of both humeruses,middle of the forearms, the medial and lateral styloid processes of bothwrists, the tip of the third metacarpal in both hands, the right andleft posterior superior iliac spines, the right and left anteriorsuperior iliac spines, the right and left greater trochanters, themiddle of both thighs, the medial and lateral epicondyles of the femurs,the right calf, the medial and lateral malleouleses of the ankles, thetip of the third metatarsal of both feet, and the tip of the calcaneousin both feet.

FIG. 5B illustrates conceptually a markerset 401 with five markersattached to a hypothetical baseball bat in the following locations: knobof bat, above the handle of the bat, at the center of mass of the bat,at the tip of the bat forming a line between the knob and center ofmass, and on the posterior side of the bat at the tip.

FIG. 5C illustrates conceptually a markerset 402 with five markersattached to a hypothetical golf club at the following locations: at thebase of the handle, above the handle, at the center of mass, at the baseof the club, and at the tip of the clubface to form a direct line of theclubface angle.

FIG. 5D illustrates conceptually a markerset 403 with five markers areplaced on a hypothetical tennis racket at the following locations: atthe base of the handle, at the intersection of the handle and the rackethead, on the left and right sides of the racket head, and at the tip ofthe racket head.

Referring to FIGS. 6A-H, wearable technology 102, they comprise inembodiments any of a plurality of garments 800, which may be made of anymaterial including spandex, Lycra, polyester, in combination withcotton, silk or any other wearable material, to assist with theacquisition of motion data from human subjects and/or accompanyingobjects. Various embodiments of such garments are described in greaterdetail below. Each garment 800 comprises multiple data-gatheringmechanisms 801, such as MEMS/IMU hardware, which can which can recordand transmit motion data wirelessly to an iOS/Android phone or othernetwork enabled device 802. Software applications, such as thoseavailable from Diamond Kinetics, Pittsburgh, Pa. may be utilized tocompute kinematics from MEMS/IMU hardware.

In one embodiment, the mThrow sleeve garment 803, as illustrated in FIG.6A, is coupled with motion sensors 801 to monitor workload andperformance. The mThrow sleeve garment 803 is worn on the throwing armduring practices, games, or rehab sessions. Data may be collectedthroughout workouts and is transmitted wirelessly to an iOS/Androidphone or other network enabled device. In such embodiment, garment 803may comprise 801 a six axis accelerometer/gyroscope IMU that interfaceswirelessly via Bluetooth or other protocol with a mobile device 802,such as an iOS/Android smartphone. Software applications, eitherexecuting on the network enabled device or remotely accessible via anetwork, perform the functions to interact with the physics engine 100and interactive engine 101. Such existing functions include computationof throwing forearm motion, kinetic solutions of elbow reaction forcesand torques, algorithmic calculation of throwing workload duringgame/practice/season/career, pitch and throw counting functions,computation of arm and ball speed, and trends for the use of performanceand injury forecasting. Principal component analysis of sensor data willalso allow for mechanical equivalence models to be created that extractadditional segment data that is not directly measured by the sensors.

In another embodiment, the mThrow Pro garment 804, as illustrated inFIG. 6B, is a comprehensive throwing analysis platform designed to allowathletes of all ages and skill level to receive a full-bodybiomechanical analysis of their throwing mechanics. Data is gatheredwith four motion sensors. mThrow Pro garment 804 can be worn duringgames or practices, and is coupled with interactive applications toprovide useful feedback. In such embodiment, garment 804 may comprise801 multiple six axis accelerometer/gyroscope IMU's that interfaceswirelessly via Bluetooth or other protocol with a mobile device 802,such as an iOS/Android smartphone. Software applications, eitherexecuting on the network enabled device or remotely accessible via anetwork, perform the functions to interact with the physics engine 100and interactive engine 101. Such existing functions include computationof throwing forearm, upper arm, pelvis, and upper trunk biomechanicalmotion, kinetic solution of elbow and shoulder reaction forces andtorques, algorithmic calculation of throwing workload duringgame/practice/season/career, pitch and throw counting functions,computation of ball and arm speed, computation of kinetic chainvelocities and accelerations of the pelvis, upper trunk, upper arm, andforearm and their associated temporal reference, and trends for the useof performance and injury forecasting. Principal component analysis ofsensor data will also allow for mechanical equivalence models to becreated that extract additional segment data that is not directlymeasured by the sensors.

In another embodiment, the mRun ACL Sleeve garment 806, as illustratedin FIG. 6C, is coupled with motion sensors 801 and EMG muscle activitysensors 805 to detect injury risk factors and workload in athleticmovements such as running, sprinting, cutting, and jumping. The mRun ACLSleeve garment 806 can be used on the field of play during games,practice, or training. The mRun ACL Sleeve garment 806 may comprise 801a six axis accelerometer/gyroscope IMU and 805 two EMG sensors on thequadriceps and hamstrings that interfaces wirelessly via Bluetooth orother protocol with a mobile device 802, such as an iOS/Androidsmartphone. Software applications, either executing on the networkenabled device or remotely accessible via a network, perform thefunctions to interact with the physics engine 100 and interactive engine101. Such existing functions include computation of lower extremitykinematics, muscle firing activity, and algorithmic computation ofmovement workload during game/practice/season/career, and trends for theuse of performance and injury forecasting. Principal component analysisof sensor data will also allow for mechanical equivalence models to becreated that extract additional segment data that is not directlymeasured by the sensors.

In another embodiment, the mRun ACL Leggings Pro garment 807, asillustrated in FIG. 6D, give athletes in any sport the ability to reducetheir risk of injury and enhance performance. Garment 807 is acomprehensive movement analysis platform that captures ACL injury risk.The mRun ACL Leggings Pro garment 807 uses motion sensors 801 and muscleactivity sensors 805 to monitor the entire lower body during anymovement. mRun ACL Leggings Pro garment 808 may be used during anytraining platform to allow athletes to undergo an ACL risk screening. Insuch embodiment, garment 808 may comprise 801 two six axisaccelerometer/gyroscope IMU's and 805 six EMG sensors on the quadriceps,hamstrings, and gluteus medius that interfaces wirelessly via Bluetoothor other protocol with a mobile device 802, such as an iOS/Androidsmartphone. Software applications, either executing on the networkenabled device or remotely accessible via a network, perform thefunctions to interact with the physics engine 100 and interactive engine101. Such existing functions include computation of full lower extremitykinematics and kinetics, computation of full lower extremity musclefiring activity, algorithmic computation of movement workload duringgame/practice/season/career, and the use of performance and injuryforecasting. Principal component analysis of sensor data will also allowfor mechanical equivalence models to be created that extract additionalsegment data that is not directly measured by the sensors.

In another embodiment, the SmartSocks garment 809, as illustrated inFIG. 6E, can be used in any sport to monitor feet movement, runningpatterns, and weight distribution. Coupled with force sensor arrays andmotion sensors, the SmartSocks garment 810 can interface with any of thegarments disclosed herein to provide a more comprehensive experience. Insuch embodiment, garment 810 may comprise 801 a six axisaccelerometer/gyroscope IMU that interfaces wirelessly via Bluetooth orother protocol with a mobile device 802, such as an iOS/Androidsmartphone. Software applications, either executing on the networkenabled device or remotely accessible via a network, perform thefunctions to interact with the physics engine 100 and interactive engine101. Additional sensor technology is to include 810 cardiac sensor forheart rate and respiration rate measurement, 811 blood oxygenationsensor, 812 sweat and hydration sensors, 813 global positioning systemsensors for on field movement monitoring, and 814 force sensor arraysfor weight distribution and lower extremity kinetic computations.Together, these elements will allow for in depth analysis of playerworkload during practice and games, while offering performance alerts inthe form of dashboards for forecasting performance and injury. Theembodiment 809 will also have the capability to pair sensor data with800 804 806 807.

In another embodiment, the mSense device 801, as illustrated in FIG. 6F,comprises 801 motion sensors, 810 cardiac heart and breathing monitors,811 oxygen sensors, 812 sweat and hydration sensors, and 813 GPS tomonitor team members during gameplay, practice, and training sessions.The mSense device 801 is designed for the competitive individual as wellas for coaches to monitor their entire team and embeds in on to anygarment and interfaces wirelessly with your phone 802 with a userinterface in the form of dashboards to monitor player workload. In suchembodiment, device 801 may comprise of a six axisaccelerometer/gyroscope IMU that interfaces wirelessly via Bluetooth orother protocol with 802 a mobile device, such as an iOS/Androidsmartphone. Software applications, either executing on the networkenabled device or remotely accessible via a network, perform thefunctions to interact with the physics engine 100 and interactive engine101.

In another embodiment, the mSwing glove garment 816, as illustrated inFIG. 6G, is coupled with motion sensors 801 to monitor workload andperformance of swinging motions such as but not limited to golf swings,baseball batting swings, softball batting swings, tennis swings, andlacrosse swings. The mSwing glove garment 816 is worn on the dominantand/or non-dominant arm during practices, games, or rehab sessions. Datamay be collected throughout workouts and is transmitted wirelessly to aniOS/Android phone or other network enabled device. In such embodiment,garment 816 may comprise 801 a six axis accelerometer/gyroscope IMU thatinterfaces wirelessly via Bluetooth or other protocol with a mobiledevice 802, such as an iOS/Android smartphone. Software applications,either executing on the network enabled device or remotely accessiblevia a network, perform the functions to interact with the physics engine100 and interactive engine 101. Such existing functions includecomputation of held object motion, kinetic solutions of wrist reactionforces and torques, algorithmic calculation of swinging workload duringgame/practice/season/career, swing counting functions, computation ofheld object speed, kinematics and temporal measures, and trends for theuse of performance and injury forecasting. Principal component analysisof sensor data will also allow for mechanical equivalence models to becreated that extract additional segment data that is not directlymeasured by the sensors.

In another embodiment, the mBand wristband garment 817, as illustratedin FIG. 6H, is coupled with motion sensors 801 to monitor workload andperformance of swinging motions such as but not limited to golf swings,baseball batting swings, softball batting swings, tennis swings, andlacrosse swings. The mBand wristband garment 817 is worn on the dominantand/or non-dominant arm during practices, games, or rehab sessions. Datamay be collected throughout workouts and is transmitted wirelessly to aniOS/Android phone or other network enabled device. In such embodiment,garment 817 may comprise 801 a six axis accelerometer/gyroscope IMU thatinterfaces wirelessly via Bluetooth or other protocol with a mobiledevice 802, such as an iOS/Android smartphone. Software applications,either executing on the network enabled device or remotely accessiblevia a network, perform the functions to interact with the physics engine100 and interactive engine 101. Such existing functions includecomputation of held object motion, kinetic solutions of wrist reactionforces and torques, algorithmic calculation of swinging workload duringgame/practice/season/career, swing counting functions, computation ofheld object speed, kinematics and temporal measures, and trends for theuse of performance and injury forecasting. Principal component analysisof sensor data will also allow for mechanical equivalence models to becreated that extract additional segment data that is not directlymeasured by the sensors.

The previously described physics engine 100 and the processes orfunctions performed thereby may be implemented with computer programcode executing under the control of an operating system and running onone or more primary hardware platforms as described with reference toFIG. 7. Referring to FIG. 7, a computer system 500 comprises a centralprocessing unit 502 (CPU), a system memory 530, including one or both ofa random access memory 532 (RAM) and a read-only memory 534 (ROM), and asystem bus 510 that couples the system memory 530 to the CPU 502. Aninput/output system containing the basic routines that help to transferinformation between elements within the computer architecture 500, suchas during startup, can be stored in the ROM 534. The computerarchitecture 500 may further include a mass storage device 520 forstoring an operating system 522, software, data, and various programmodules 600, associated with an application 580 which may includefunctionality described herein with reference to any of physics engine100, hardware engine 102 or interactive engine 100, one or anycombination thereof which are executable by a special-purposeapplication, such as analytics engine 524.

The mass storage device 520 may be connected to the CPU 502 through amass storage controller (not illustrated) connected to the bus 510. Themass storage device 520 and its associated computer-readable media canprovide non-volatile storage for the computer architecture 500. Althoughthe description of computer-readable media contained herein refers to amass storage device, such as a hard disk or CD-ROM drive, it should beappreciated by those skilled in the art that computer-readable media canbe any available computer storage media that can be accessed by thecomputer architecture 500.

By way of example, and not limitation, computer-readable media mayinclude volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for the non-transitory storageof information such as computer-readable instructions, data structures,program modules or other data. For example, computer-readable mediaincludes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memoryor other solid state memory technology, CD-ROM, digital versatile disks(DVD), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the computer architecture 500.

According to various embodiments, the computer architecture 500 mayoperate in a networked environment using logical connections to remotephysical or virtual entities through a network such as the network 599.The computer architecture 500 may connect to the network 599 through anetwork interface unit 504 connected to the bus 510. It will beappreciated that the network interface unit 504 may also be utilized toconnect to other types of networks and remote computer systems. Thecomputer architecture 500 may also include an input/output controllerfor receiving and processing input from a number of other devices,including a keyboard, mouse, or electronic stylus (not illustrated).Similarly, an input/output controller may provide output to a videodisplay 506, a printer, or other type of output device. A graphicsprocessor unit 525 may also be connected to the bus 510.

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 520 and RAM 532 of the computerarchitecture 500, including an operating system 522 suitable forcontrolling the operation of a networked desktop, laptop, servercomputer, or other computing environment. The mass storage device 520,ROM 534, and RAM 532 may also store one or more program modules. Inparticular, the mass storage device 520, the ROM 534, and the RAM 532may store the engine 524 for execution by the CPU 502. The engine 524can include software components for implementing portions of theprocesses described herein. The mass storage device 520, the ROM 534,and the RAM 532 may also store other types of program modules.

Software modules, such as the various modules within the engine 524 maybe associated with the system memory 530, the mass storage device 520,or otherwise. According to embodiments, the analytics engine 524 may bestored on the network 599 and executed by any computer within thenetwork 599. Databases 572 and 575, which may be used to store any ofthe acquired or processed data or idealized models, and/or kinematicsand kinetic data described herein, such databases being coupled remotelyto network 599 and network interface 504.

The software modules may include software instructions that, when loadedinto the CPU 502 and executed, transform a general-purpose computingsystem into a special-purpose computing system customized to facilitateall, or part of, the techniques disclosed herein. As detailed throughoutthis description, the program modules may provide various tools ortechniques by which the computer architecture 500 may participate withinthe overall systems or operating environments using the components,logic flows, and/or data structures discussed herein.

The CPU 502 may be constructed from any number of transistors or othercircuit elements, which may individually or collectively assume anynumber of states. More specifically, the CPU 502 may operate as a statemachine or finite-state machine. Such a machine may be transformed to asecond machine, or specific machine by loading executable instructionscontained within the program modules. These computer-executableinstructions may transform the CPU 502 by specifying how the CPU 502transitions between states, thereby transforming the transistors orother circuit elements constituting the CPU 502 from a first machine toa second machine, wherein the second machine may be specificallyconfigured to manage the generation of indices. The states of eithermachine may also be transformed by receiving input from one or more userinput devices associated with the input/output controller, the networkinterface unit 504, other peripherals, other interfaces, or one or moreusers or other actors. Either machine may also transform states, orvarious physical characteristics of various output devices such asprinters, speakers, video displays, or otherwise.

Encoding of executable computer program code modules may also transformthe physical structure of the storage media. The specific transformationof physical structure may depend on various factors, in differentimplementations of this description. Examples of such factors mayinclude, but are not limited to: the technology used to implement thestorage media, whether the storage media are characterized as primary orsecondary storage, and the like. For example, if the storage media areimplemented as semiconductor-based memory, the program modules maytransform the physical state of the system memory 530 when the softwareis encoded therein. For example, the software may transform the state oftransistors, capacitors, or other discrete circuit elements constitutingthe system memory 530.

As another example, the storage media may be implemented using magneticor optical technology. In such implementations, the program modules maytransform the physical state of magnetic or optical media, when thesoftware is encoded therein. These transformations may include alteringthe magnetic characteristics of particular locations within givenmagnetic media. These transformations may also include altering thephysical features or characteristics of particular locations withingiven optical media, to change the optical characteristics of thoselocations. It should be appreciated that various other transformationsof physical media are possible without departing from the scope of andspirit of the present description.

FIG. 8 illustrates conceptually a network topology in which thecomponents of the disclosed system may be implemented. Any of theengines 100, 102 or 103 and the data processing systems 110, 113A-C,112-118, illustrated in the network topology of FIG. 8 may beimplemented with a processing architecture similar to that illustratedin FIG. 7, including any of a desktop computer, laptop computer, tabletcomputer or smart phone/personal digital assistant device such as aniPhone or android operating system based device. Note that any of thesystems illustrated in FIG. 8 may be interoperably connected eitherthrough a wide area network (WAN) 125 or local area network (LAN) 115 orboth, or any hybrid combination thereof using known networkinfrastructure and components, protocols, and/or topologies. Forexample, any of devices 212-215 may be connected to hardware engine 102either through a physical network physically or wirelessly, or anycombination thereof. Similarly any of devices 306-309 may be coupled tointerface engine 103 either through a physical network or wirelessly, orany combination thereof. Similarly any of engines 100, 102, 103 may beconnected either via WAN 125 or LAN 115, any portion of which may bewireless connection between respective network nodes, the entirety ofthe system being indicated as system 110. Systems 112-118 may compriseadditional databases more users capable of interacting remotely withsystem 110.

The reader can appreciate that the various systems and elements andmethods described herein enables delivery of near real-time feedback tomotions of human subjects and any objects in their possession andproximity.

Although the various embodiments of the system and techniques disclosedherein have been described with reference to specific sports and/orgarments related to such activities, it will be obvious to thosereasonably skilled in the art that modifications to the systems andprocesses disclosed herein may occur, without departing from the truespirit and scope of the disclosure. For example, any type of wearablegarment which is capable of transmitting motion data useful for analysismay be utilized with the systems and techniques described herein.Further, notwithstanding the network implementation described, anyexisting or future network or communications infrastructure technologiesmay be utilized, including any combination of public and privatenetworks. In addition, although specific algorithmic flow diagrams ordata structures may have been illustrated, these are for exemplarypurposes only, other processes which achieve the same functions orutilized different data structures or formats are contemplated to bewithin the scope of the concepts described herein. As such, theexemplary embodiments described herein are for illustrative purposes andare not meant to be limiting

What is claimed is:
 1. A system for providing prescriptive feedbackbased on motion of a human subject or object comprising: A) a hardwareengine for gathering data about the motion of a subject or object, B) aphysics engine operatively coupled to the hardware engine and configuredfor processing the gathered motion data and correlating the processedmotion data with previously stored biomechanical data representingidealized motion models, and C) an interactive interface operativelycoupled to the data gathering devices and the physics engine andconfigured for providing prescriptive feedback on flaws identified inthe subject's or object's motion.
 2. The system of claim 2 wherein theinteractive interface is further configured for enabling compliancemonitoring of the subject's or object's motion.
 3. The system of claim 1wherein the hardware engine comprises a plurality of data gatheringdevices configured for gathering data about the motion of a subject orobject.
 4. The system of claim 3 wherein at least one of the pluralityof data gathering devices comprises an optical motion capture device tocollect three-dimensional positional data from reflective markers placedon the subject or object.
 5. The system of claim 3 wherein at least oneof the plurality of data gathering devices comprises an inertialmeasurement unit disposed on the subject or object to collectthree-dimensional translation and rotation motion data.
 6. The system ofclaim 3 wherein at least one of the plurality of data gathering devicescomprises an infrared scanning device configured to capturethree-dimensional point clouds of movement data.
 7. The system of claim3 wherein the physics engine is configured to perform one or morealgorithmic processes of the gathered motion data to compute kinematicsand kinetics of the subject or object.
 8. The system of claim 7 whereinthe physics engine is configured to determine points of interest duringa particular motion using event detection algorithms.
 9. The system ofclaim 7 wherein the physics engine is configured to define a model ofthe subject having a plurality of segments.
 10. The system of claim 9wherein the physics engine is further configured to compute an inversedynamics model of motion of the subject using angular velocitycomponents of each segment, angular acceleration components of eachsegment, and linear acceleration components of each segment center ofmass.
 11. A method for providing prescriptive feedback based on motionof a human subject or object comprising: A) gathering data about themotion of a subject or object, B) processing the gathered motion dataand correlating the processed motion data with previously storedbiomechanical data representing idealized motion models, and C)providing prescriptive feedback on flaws identified in the subject's orobject's motion.
 12. The method of claim 11 further comprising: E)enabling compliance monitoring of motion of the subject or object. 13.The method of claim 11 wherein the interactive interface is furtherconfigured for enabling compliance monitoring of the subject's orobject's motion.
 14. The method of claim 11 wherein A) gathering dataabout the motion of a subject or object comprises: A1) gathering dataabout the motion of a subject or object with an optical motion capturedevice to collect three-dimensional positional data from reflectivemarkers placed on the subject or object.
 15. The method of claim 11wherein A) gathering data about the motion of a subject or objectcomprises: A1) gathering data about the motion of a subject or objectwith an inertial measurement unit disposed on the subject or object tocollect three-dimensional translation and rotation motion data.
 16. Themethod of claim 11 wherein A) gathering data about the motion of asubject or object comprises: A1) gathering data about the motion of asubject or object with an infrared scanning device configured to capturethree-dimensional point clouds of movement data.
 17. The method of claim11 wherein B) comprises: B1) performing one or more algorithmicprocesses of the gathered motion data to compute kinematics and kineticsof the subject or object.
 18. The method of claim 17 wherein B)comprises: B1) determining points of interest during a particular motionusing event detection algorithms.
 19. The method of claim 17 wherein B)comprises: B1) defining a model of the subject having a plurality ofsegments.
 20. The method of claim 17 wherein B) comprises: B1) computingan inverse dynamics model of motion of the subject using angularvelocity components of each segment, angular acceleration components ofeach segment, and linear acceleration components of each segment centerof mass.
 21. A method for providing prescriptive feedback based onmotion of a human subject or object comprising: A) gathering data aboutthe motion of a subject or object, B) processing motion data, C)correlating the process motion data with previously stored biomechanicaldata representing idealized motion models, and D) providing prescriptivefeedback on flaws identified in the subject's and object's motion basedon the motion data gathered from either the wearable technology orinteractive platform.